package main

// 全局倒置
// 局部倒置

// 局部倒置一定是全局倒置

// 检查：有无非局部倒置     nums[i]>nums[j]   i<j-1
// 对每一个nums[i] 判断是否存在j(j>i+1)是的nums[i]>nums[j]成管理

func isIdealPermutation(nums []int) bool {
	n := len(nums)
	minSuf := nums[n-1]
	for i:=n-2;i>0;i--{
		if nums[i-1] > minSuf {
			return false
		}
		minSuf = min(minSuf, nums[i])
	}
	return true
}

func min(a, b int) int {
    if a > b {
        return b
    }
    return a
}